import request from '@/config/axios'

// 扩展数据接口
export interface CardRecordExtendData {
  beforeOutletId?: number // 变更前门店ID
  afterOutletId?: number // 变更后门店ID
  beforeOutletName?: string // 变更前门店名称
  afterOutletName?: string // 变更后门店名称
  beforeUserId?: number // 变更前用户ID
  afterUserId?: number // 变更后用户ID
  beforeUserName?: string // 变更前用户名称
  afterUserName?: string // 变更后用户名称
  [key: string]: any // 其他扩展字段
}

// 卡片流转记录 VO
export interface CardRecordVO {
  id: number // 记录ID
  cardId: number // 卡片ID
  spuId?: number // SPU编号
  skuId?: number // SKU编号
  cardNumber?: string // 卡号（冗余）
  operationType: number // 操作类型（1创建 2入库 3配送 4销售 5激活 6回收 7销毁）
  beforeStatus?: number | null // 操作前状态
  afterStatus?: number | null // 操作后状态
  operatorId?: number // 操作人ID
  operatorName?: string // 操作人名称
  operationTime: string | number // 操作时间（可能是字符串或时间戳）
  remark?: string // 备注说明
  extendData?: string // 扩展数据（JSON格式）
  createTime: string | number // 创建时间（可能是字符串或时间戳）
}

// 卡片流转记录 API
export const CardRecordApi = {
  // 根据SKU编号和卡号获取卡片流转记录列表
  getCardRecordListBySkuIdAndCardNumber: async (skuId: number, cardNumber: string) => {
    return await request.get({ 
      url: `/dc/card-record/list-by-sku-id-and-card-number`,
      params: { skuId, cardNumber }
    })
  }
}

